package com.erdos.core.service;

import java.util.List;
import java.util.Locale;
import java.util.Map;

import com.erdos.core.entity.FieldVO;
import com.erdos.core.entity.RefTableDetail;


public interface ReferenceService {

	/**
	 * 根据refTableId查询返回对应的数据列表
	 * @param refTableId
	 * @return List
	 * @author xuzhang4
	 * @since  2008-7-27
	 */
	List<RefTableDetail> findRefValueList(String refTableId);
	
	/**
	 * 根据refTableId, key1Value, key2Value查询返回对应的数据
	 * @param refTableId
	 * @return RefTableDetail
	 * @author xuzhang4
	 * @since  2008-7-29
	 */
	RefTableDetail findRefValue(String refTableId, String key1Value, String key2Value);

	/**
	 * 根据refTableId，默认取RefTableDetail对象的key1和data1作为Map的key-value
	 * 主要用于下拉框数据显示及列表数据转义显示
	 * @param refTableId
	 * @return Map
	 * @author xuzhang4
	 * @since  2008-7-27
	 */
	Map<String, String> findRefValueMap(String refTableId);
	
	/**
	 * 用于验证value是否符合Field的定义
	 * @param fieldSid
	 * @param value
	 * @return String   true:0:0:0     false:类型:长度:精度  false:0:0:0 (field不存在)
	 * @author xuzhang4
	 * @since  2008-7-27
	 */
	String checkValue(Long fieldSid, String value);
	
	/**
	 * 用于查找fieldSid对应语言的ContentText
	 * @param fieldId
	 * @param locale
	 * @return FieldVO
	 * @author xuzhang4
	 * @since  2008-7-27
	 */
	FieldVO findFieldContent(Long fieldSid, Locale locale);
}
